<?php

class ViewLogin extends ViewPadraoSistema {
    /** @var CampoBase */
    protected $campo = array();    
    
    public function __construct() {
        parent::__construct();
        $this->criaCampos();
    }    
    
    protected function criaCampos() {
        $this->campo['usuarioEmail']       = new CampoEmail('usuarioEmail','E-Mail',true,50,100); 
        $this->campo['usuarioEmail']->addCssInline('width', '100%');
        $this->campo['usuarioSenhaAcesso'] = new CampoSenha('usuarioSenhaAcesso','Senha',true,10,50); 
        $this->campo['usuarioSenhaAcesso']->addCssInline('width', '100%');
    }
    
    /**
     * @return CampoEmail
     */
    public function getCampoEmail() {
        return $this->campo['usuarioEmail'];
    }
    
    /**
     * @return CampoSenha
     */
    public function getCampoSenha() {
        return $this->campo['usuarioSenhaAcesso'];        
    }    
    
    protected function imprimeBody() {
        echo '<body>'.PHP_EOL;
        $this->imprimeMensagem();
        $this->imprimeAreaConteudo();
        echo '</body>'.PHP_EOL;        
    }
    
    protected function imprimeConteudo() {
        ?>
        <center>
        <div id="div_principal" style="width: 425px;">
            <form name="frm_cadastro" id="frm_cadastro" action="<?= $_SERVER['PHP_SELF'] ?>" enctype="multipart/form-data" method="POST">
                <div class="div_login">
                    <table border="0">
                        <tr>
                            <td colspan="2">
                                <?
                                    $oImagem = new Imagem('login.png');
                                    $oImagem->setLargura(400);
                                    echo $oImagem->getHtml();
                                ?>
                            </td>
                        </tr>                        
                        <? foreach ($this->campo as $oCampo) { ?>
                        <tr>
                            <td class="td_label">
                                <?= $oCampo->getHtmlLabel() ?>&nbsp;
                            </td>
                            <td class="td_campo">
                                <?= $oCampo->getHtml() ?>
                            </td>
                        </tr>
                        <? } ?>
                        <tr>
                            <td colspan="2">
                                <?
                                    $oBotaoConfirmar = new Botao('Entrar');
                                    $oBotaoConfirmar->setOnClick('validaFormulario()');
                                    echo $oBotaoConfirmar->getHtml(); 
                                ?>
                            </td>
                        </tr>                         
                    </table>
                </div>
            </form>
        </div>
        </center>
        <?
    }
    
    protected function imprimeScript() {
        parent::imprimeScript();
        ?>
        <script>
            function validaFormulario() {
                var sMsg = '';
                var oFrm = document.frm_cadastro;
                
                <?
                    foreach ($this->campo as $oCampo) {
                        echo $oCampo->getJsValidacao();
                    }
                ?>
                
                if (sMsg.length > 0) {
                    alert(sMsg);
                }
                else {
                    oFrm.submit();
                }
            }
        </script>
        <?
    }
    
    public function isEnviada() {
        return (isset($_POST['usuarioEmail']) && isset($_POST['usuarioSenhaAcesso']));
    }    
    
}
